Ambient 25 Click
Ambient 25 Click demo application is developed using the NECTO Studio, ensuring compatibility with mikroSDK's open-source libraries and tools. Designed for plug-and-play implementation and testing, the demo is fully compatible with all development, starter, and mikromedia boards featuring a mikroBUS™ socket.
Click Library
- Author : Stefan Filipovic
- Date : Jul 2025.
- Type : I2C type
Software Support
Example Description
This example demonstrates the use of Ambient 25 Click by reading and displaying the values from two modulator channels.
Example Libraries
- MikroSDK.Board
- MikroSDK.Log
- Click.Ambient25
Example Key Functions
- ambient25_cfg_setup This function initializes Click configuration structure to initial values.
void ambient25_cfg_setup(ambient25_cfg_t *cfg)
Ambient 25 configuration object setup function.
Ambient 25 Click configuration object.
Definition ambient25.h:340
- ambient25_init This function initializes all necessary pins and peripherals used for this Click board.
err_t ambient25_init(ambient25_t *ctx, ambient25_cfg_t *cfg)
Ambient 25 initialization function.
Ambient 25 Click context object.
Definition ambient25.h:319
- ambient25_default_cfg This function executes a default configuration of Ambient 25 Click board.
err_t ambient25_default_cfg(ambient25_t *ctx)
Ambient 25 default configuration function.
- ambient25_get_int_pin This function returns the INT pin logic state.
uint8_t ambient25_get_int_pin(ambient25_t *ctx)
Ambient 25 get int pin state function.
- ambient25_read_data This function checks if the als measurement data are ready for all channels and reads them.
err_t ambient25_read_data(ambient25_t *ctx, ambient25_data_t *data_out)
Ambient 25 read data function.
Ambient 25 Click data object.
Definition ambient25.h:308
Application Init
Initializes the driver and performs the Click default configuration which sets the ALS gain level to 32x and 4x for modulators 0 and 1.
{
log_cfg_t log_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
if ( I2C_MASTER_ERROR ==
ambient25_init( &ambient25, &ambient25_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}
@ AMBIENT25_ERROR
Definition ambient25.h:360
#define AMBIENT25_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition ambient25.h:293
void application_init(void)
Definition main.c:30
Application Task
Waits for a data ready interrupt then reads data from two modulator channels and displays the results on the USB UART every 200ms approximately.
{
{
log_printf ( &logger, "\r\n ALS data 0: " );
{
log_printf ( &logger,
"%u", als_data.
als_data_0 );
}
else
{
log_printf ( &logger, "SATURATION" );
}
log_printf ( &logger, "\r\n ALS data 1: " );
{
log_printf ( &logger,
"%u", als_data.
als_data_1 );
}
else
{
log_printf ( &logger, "SATURATION" );
}
log_printf ( &logger, "\r\n" );
}
}
@ AMBIENT25_OK
Definition ambient25.h:359
#define AMBIENT25_ALS_DATA_SATURATION
Ambient 25 ALS data saturation setting.
Definition ambient25.h:262
void application_task(void)
Definition main.c:66
uint16_t als_data_1
Definition ambient25.h:310
uint16_t als_data_0
Definition ambient25.h:309
Application Output
This Click board can be interfaced and monitored in two ways:
- Application Output - Use the "Application Output" window in Debug mode for real-time data monitoring. Set it up properly by following this tutorial.
- UART Terminal - Monitor data via the UART Terminal using a USB to UART converter. For detailed instructions, check out this tutorial.
Additional Notes and Information
The complete application code and a ready-to-use project are available through the NECTO Studio Package Manager for direct installation in the NECTO Studio. The application code can also be found on the MIKROE GitHub account.